home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / MIDI.idl < prev    next >
Text File  |  1996-05-01  |  4KB  |  122 lines

  1. /*
  2.      File:        MIDI.idl
  3.  
  4.      Contains:    MIDI Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __MIDI_IDL__
  19. #define __MIDI_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __ERRORS_IDL__
  25. #include <Errors.idl>
  26. #endif
  27. #ifndef __TYPES_IDL__
  28. #include <Types.idl>
  29. #endif
  30. #ifndef __MIXEDMODE_IDL__
  31. #include <MixedMode.idl>
  32. #endif
  33.  
  34. #ifdef __SOMIDL__
  35.  
  36. #if FOR_SYSTEM7_ONLY
  37. /*
  38.                         * * *  N O T E  * * * 
  39.  
  40.     This file has been updated to include MIDI 2.0 interfaces.  
  41.     
  42.     The MIDI 2.0 interfaces were developed for the classic 68K runtime.
  43.     Since then, Apple has created the PowerPC and CFM 68K runtimes.
  44.     Currently, the extra functions in MIDI 2.0 are not in InterfaceLib
  45.     and thus not callable from PowerPC and CFM 68K runtimes (you'll
  46.     get a linker error).  
  47. */
  48. /*
  49.     MIDI data and messages are passed in MIDIPacket records (see below).
  50.     The first byte of every MIDIPacket contains a set of flags
  51.  
  52.     bits 0-1    00 = new MIDIPacket, not continued
  53.                      01 = begining of continued MIDIPacket
  54.                      10 = end of continued MIDIPacket
  55.                      11 = continuation
  56.     bits 2-3     reserved
  57.  
  58.     bits 4-6      000 = packet contains MIDI data
  59.  
  60.                   001 = packet contains MIDI Manager message
  61.  
  62.     bit 7         0 = MIDIPacket has valid stamp
  63.                   1 = stamp with current clock
  64. */
  65. typedef SOMLargeStruct            MIDIPacket;                    /* Derived from a struct of 255 bytes in size */
  66.  
  67. typedef OpaquePtr                MIDIPacketPtr;                /* Substituted OpaquePtr for ``MIDIPacket*'' */
  68.  
  69. typedef OpaquePtr MIDIReadHookProcPtr;
  70. typedef OpaquePtr MIDIReadHookUPP;
  71. typedef OpaquePtr MIDITimeProcPtr;
  72. typedef OpaquePtr MIDITimeUPP;
  73. typedef OpaquePtr MIDIConnectionProcPtr;
  74. typedef OpaquePtr MIDIConnectionUPP;
  75. typedef OpaquePtr MDVRCommProcPtr;
  76. typedef OpaquePtr MDVRCommUPP;
  77. typedef OpaquePtr MDVRTimeCodeProcPtr;
  78. typedef OpaquePtr MDVRTimeCodeUPP;
  79. typedef OpaquePtr MDVRReadProcPtr;
  80. typedef OpaquePtr MDVRReadUPP;
  81. typedef SOMLargeStruct            MIDIClkInfo;                /* Derived from a struct of 8 bytes in size */
  82.  
  83. typedef SOMLargeStruct            MIDIIDRec;                    /* Derived from a struct of 8 bytes in size */
  84.  
  85. typedef SOMLargeStruct            MIDIPortInfo;                /* Derived from a struct of 20 bytes in size */
  86.  
  87. typedef OpaquePtr                MIDIPortInfoPtr;            /* Substituted OpaquePtr for ``MIDIPortInfo*'' */
  88.  
  89. typedef OpaquePtr                MIDIPortInfoHdl;            /* Substituted OpaquePtr for ``MIDIPortInfoPtr*'' */
  90.  
  91. typedef OpaquePtr                MIDIPortInfoHandle;            /* Substituted OpaquePtr for ``MIDIPortInfoPtr*'' */
  92.  
  93. typedef SOMLargeStruct            MIDIPortParams;                /* Derived from a struct of 284 bytes in size */
  94.  
  95. typedef OpaquePtr                MIDIPortParamsPtr;            /* Substituted OpaquePtr for ``MIDIPortParams*'' */
  96.  
  97. typedef SOMLargeStruct            MIDIIDList;                    /* Derived from a struct of 6 bytes in size */
  98.  
  99. typedef OpaquePtr                MIDIIDListPtr;                /* Substituted OpaquePtr for ``MIDIIDList*'' */
  100.  
  101. typedef OpaquePtr                MIDIIDListHdl;                /* Substituted OpaquePtr for ``MIDIIDListPtr*'' */
  102.  
  103. typedef OpaquePtr                MIDIIDListHandle;            /* Substituted OpaquePtr for ``MIDIIDListPtr*'' */
  104.  
  105. /* MDVR Control structs*/
  106. typedef SOMLargeStruct            MDVRInCtlRec;                /* Derived from a struct of 16 bytes in size */
  107.  
  108. typedef OpaquePtr                MDVRInCtlPtr;                /* Substituted OpaquePtr for ``MDVRInCtlRec*'' */
  109.  
  110. typedef SOMLargeStruct            MDVROutCtlRec;                /* Derived from a struct of 26 bytes in size */
  111.  
  112. typedef OpaquePtr                MDVROutCtlPtr;                /* Substituted OpaquePtr for ``MDVROutCtlRec*'' */
  113.  
  114. typedef OpaquePtr                MDVRPtr;                    /* Substituted OpaquePtr for ``void*'' */
  115.  
  116. #endif
  117.  
  118. #endif /* __SOMIDL__ */
  119.  
  120. #endif /* __MIDI_IDL__ */
  121.  
  122.